import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
// import app from './modules/app'
// import settings from './modules/settings'
// import user from './modules/user'

Vue.use(Vuex)

// 一次性逻辑处理
const req = require.context('./modules', false, /\.js$/)
// 一次性读取所有文件， 返回文件对象
const requireAll = requireContext => requireContext.keys().map(requireContext)
const allFile = requireAll(req)
// console.log(allFile); // 所有文件的文件对象数组

// 读取文件路径解析出所有文件的文件名
const fileNames = req.keys().map(item => item.match(/.\/(\S*).js/)[1])
// console.log(fileNames); // 所有文件的文件名数组

// const modules = {
//   app: allFile[0].default,
//   settings: allFile[1].default,
//   user: allFile[2].default
// }

const modules = {}

fileNames.forEach((filename, index) => {
  modules[filename] = allFile[index].default
})

const store = new Vuex.Store({
  modules,
  // modules: {
  //   app: allFile[0].default,
  //   settings: allFile[1].default,
  //   user: allFile[2].default
  // },
  getters
})

export default store
